/* Definitions of all the global variables in Xconq GDL.
   Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996 Stanley T. Shebs.

Xconq is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.  See the file COPYING.  */

DEF_VAR_L("action-messages", g_action_messages, set_g_action_messages,
	"text to use in describing actions and their outcomes",
	gactionmessages, NULL)

DEF_VAR_I("advantage-default", g_advantage_default, set_g_advantage_default,
	"default advantage of each side",
	gadvantagedefault, 1, 1, 100)

DEF_VAR_I("advantage-max", g_advantage_max, set_g_advantage_max,
	"maximum advantage that a player can request",
	gadvantagemax, 1, 100, 100)

DEF_VAR_I("advantage-min", g_advantage_min, set_g_advantage_min,
	"minimum advantage that a player can request",
	gadvantagemin, 1, 1, 100)

DEF_VAR_I("alt-blob-density", g_alt_blob_density, set_g_alt_blob_density,
	"number of altitude blobs to generate for fractal terrain",
	galtblobdensity, 0, 500, 10000)

DEF_VAR_I("alt-blob-height", g_alt_blob_height, set_g_alt_blob_height,
	"height of altitude blobs to generate for fractal terrain",
	galtblobheight, 0, 1000, 10000)

DEF_VAR_I("alt-blob-size", g_alt_blob_size, set_g_alt_blob_size,
	"size of altitude blobs to generate for fractal terrain",
	galtblobsize, 0, 30, 10000)

DEF_VAR_I("alt-smoothing", g_alt_smoothing, set_g_alt_smoothing,
	"number of averaging steps to do on generated altitudes",
	galtsmoothing, 0, 2, VARHI)

DEF_VAR_L("calendar", g_calendar, set_g_calendar,
	"calendar system to use",
	gcalendar, NULL)

DEF_VAR_I("country-radius-max", g_radius_max, set_g_radius_max,
	"maximum radius of each side's country",
	gradiusmax, 0, 0, VARHI)

DEF_VAR_I("country-radius-min", g_radius_min, set_g_radius_min,
	"default initial radius of each side's country",
	gradiusmin, -1, -1, VARHI)

DEF_VAR_I("country-separation-max", g_separation_max, set_g_separation_max,
	"maximum distance between countries",
	gmaxseparation, -1, -1, VARHI)

DEF_VAR_I("country-separation-min", g_separation_min, set_g_separation_min,
	"minimum distance from each country to some other",
	gminseparation, 0, 0, VARHI)

DEF_VAR_I("edge-terrain", g_edge_terrain, set_g_edge_terrain,
	"type of terrain that goes around the edge of the world",
	gedgeterrain, 0, 0, MAXTTYPES)

DEF_VAR_I("edge-road-density", g_edge_road_density, set_g_edge_road_density,
	"number of roads from edge to edge",
	gedgeroaddensity, 0, 0, VARHI)

DEF_VAR_I("elapsed-real-time", g_elapsed_time, set_g_elapsed_time,
	"number of seconds of real time in the game so far",
	gelapsedtime, -1, -1, VARHI)

DEF_VAR_L("event-messages", g_event_messages, set_g_event_messages,
	"text to use in describing events",
	geventmessages, NULL)

DEF_VAR_I("extra-turn-chance", g_extra_turn, set_g_extra_turn,
	"chance that game will last one more turn",
	gextraturn, 0, 0, 99)

DEF_VAR_L("feature-namers", g_feature_namers, set_g_feature_namers,
	"definitions of namers of geographical features",
	gfeaturenamers, NULL)

DEF_VAR_L("feature-types", g_feature_types, set_g_feature_types,
	"definitions of types of geographical features",
	gfeaturetypes, NULL)

DEF_VAR_S("grid-color", g_grid_color, set_g_grid_color,
	"name of the color representing grid terrain",
	ggridcolor, "")

DEF_VAR_I("growth-stop-chance", g_growth_stop, set_g_growth_stop,
	"chance that country growth will stop after expanding by one",
	ggrowthstop, 0, 0, 100)

DEF_VAR_S("initial-date", g_initial_date, set_g_initial_date,
	"date of the first turn",
	ginitialdate, "")

DEF_VAR_S("initial-date-max", g_initial_date_max, set_g_initial_date_max,
	"latest possible date of the first turn",
	ginitialdatemax, "")

DEF_VAR_S("initial-date-min", g_initial_date_min, set_g_initial_date_min,
	"earliest possible date of the first turn",
	ginitialdatemin, "")

DEF_VAR_I("initial-day-part", g_initial_day_part, set_g_initial_day_part,
	"day part of the first (possible) turn",
	ginitialdaypart, 0, 0, VARHI)

DEF_VAR_I("initial-year-part", g_initial_year_part, set_g_initial_year_part,
	"year part of the first (possible) turn",
	ginitialyearpart, 0, 0, VARHI)

DEF_VAR_I("last-turn", g_last_turn, set_g_last_turn,
	"last possible turn in the game",
	glastturn, 1, VARHI, VARHI)

DEF_VAR_I("maze-passage-density", g_maze_passage, set_g_maze_passage,
	"density of passages in a maze",
	gmazepassages, 0, 3000, 10000)

DEF_VAR_I("maze-room-density", g_maze_room, set_g_maze_room,
	"density of rooms in a maze",
	gmazerooms, 0, 1000, 10000)

DEF_VAR_I("player-sides-locked", g_player_sides_locked, set_g_player_sides_locked,
	"true if player-side assignments can't be changed",
	gplayersideslocked, 0, 0, 1)

DEF_VAR_L("random-events", g_random_events, set_g_random_events,
	"list of random events to do each turn",
	grandomevents, NULL)

DEF_VAR_I("random-state", g_random_state, set_g_random_state,
	"value of the random state",
	grandomstate, -1, -1, 32767)

DEF_VAR_I("real-time-for-game", g_rt_for_game, set_g_rt_for_game,
	"total real time that the game may last",
	grtforgame, 0, 0, VARHI)

DEF_VAR_I("real-time-per-side", g_rt_per_side, set_g_rt_per_side,
	"total real time that a side gets for this game",
	grtperside, 0, 0, VARHI)

DEF_VAR_I("real-time-per-turn", g_rt_per_turn, set_g_rt_per_turn,
	"maximum real time that any turn may last",
	grtperturn, 0, 0, VARHI)

DEF_VAR_I("river-sink-terrain", g_river_sink_terrain, set_g_river_sink_terrain,
	"terrain type of a cell completely surrounded by river",
	griversinkterrain, 0, NONTTYPE, NONTTYPE)

DEF_VAR_S("scorefile-name", g_scorefile_name, set_g_scorefile_name,
	"name for the scorefile",
	gscorefilename, "")

DEF_VAR_L("season-names", g_season_names, set_g_season_names,
	"names of seasons in yearly cycle",
	gseasonnames, NULL)

DEF_VAR_I("see-all", g_see_all, set_g_see_all,
	"true if everything is always seen all the time",
	gseeall, 0, 0, 1)

DEF_VAR_I("see-terrain-always", g_see_terrain_always, set_g_see_terrain_always,
	"true if terrain is always seen all the time",
	gseeterrainalways, 0, 1, 1)

DEF_VAR_I("see-weather-always", g_see_weather_always, set_g_see_weather_always,
	"true if weather is always seen all the time",
	gseeweatheralways, 0, 1, 1)

DEF_VAR_I("self-required", g_self_required, set_g_self_required,
	"true if each side must have a self-unit",
	gselfrequired, 0, 0, 1)

DEF_VAR_L("side-library", g_side_lib, set_g_side_lib,
	"list of available sides",
	gsidelib, set_g_side_lib_default)

DEF_VAR_I("sides-max", g_sides_max, set_g_sides_max,
	"maximum number of sides in a game",
	gsidesmax, 1, MAXSIDES, MAXSIDES)

DEF_VAR_I("sides-min", g_sides_min, set_g_sides_min,
	"minimum number of sides in a game",
	gsidesmin, 1, 2, MAXSIDES)

DEF_VAR_L("synthesis-methods", g_synth_methods, set_g_synth_methods,
	"list of synthesis methods to run during init",
	gsynthmethods, set_g_synth_methods_default)

DEF_VAR_L("temperature-year-cycle", g_temp_year, set_g_temp_year,
	"change in temperature during a year",
	gtempyear, NULL)

DEF_VAR_I("temperature-floor", g_temp_floor, set_g_temp_floor,
	"absolute minimum possible temperature",
	gtempfloor, VARLO, 0, VARHI)

DEF_VAR_I("temperature-floor-elevation", g_temp_floor_elev, set_g_temp_floor_elev,
	"elevation at which minimum temperature occurs",
	gtempfloorelev, VARLO, 0, VARHI)

DEF_VAR_I("temperature-moderation-range", g_temp_mod_range, set_g_temp_mod_range,
	"how far to go in averaging temperature variations",
	gtempmodrange, 0, 0, 2)

DEF_VAR_I("terrain-seen", g_terrain_seen, set_g_terrain_seen,
	"true if the world's terrain is already completely known",
	gterrainseen, 0, FALSE, 1)

DEF_VAR_I("turn", g_turn, set_g_turn,
	"the current turn",
	gturn, 0, 0, 32767)

DEF_VAR_I("units-in-game-max", g_units_in_game_max, set_g_units_in_game_max,
	"limit on the total number of units at any time in the game",
	gunitsingamemax, -1, -1, VARHI)

DEF_VAR_I("units-per-side-max", g_units_per_side_max, set_g_units_per_side_max,
	"limit on the total number of units on each side",
	gunitspersidemax, -1, -1, VARHI)

DEF_VAR_S("unseen-char", g_unseen_char, set_g_unseen_char,
	"name of the char representing unseen terrain",
	gunseenchar, " ?")

DEF_VAR_S("unseen-color", g_unseen_color, set_g_unseen_color,
	"name of the color(s) representing unseen terrain",
	gunseencolor, "")

DEF_VAR_S("unseen-image-name", g_unseen_image_name, set_g_unseen_image_name,
	"name of the image representing unseen terrain",
	gunseenimagename, "")

DEF_VAR_I("use-side-priority", g_use_side_priority, set_g_use_side_priority,
	"true if sides are to move according to priority",
	gusesidepriority, 0, 0, 1)

DEF_VAR_I("wet-blob-density", g_wet_blob_density, set_g_wet_blob_density,
	"number of wetness blobs to generate for fractal terrain",
	gwetblobdensity, 0, 100, 10000)

DEF_VAR_I("wet-blob-height", g_wet_blob_height, set_g_wet_blob_height,
	"height of wetness blobs to generate for fractal terrain",
	gwetblobheight, 0, 100, 10000)

DEF_VAR_I("wet-blob-size", g_wet_blob_size, set_g_wet_blob_size,
	"size of wetness blobs to generate for fractal terrain",
	gwetblobsize, 0, 100, 10000)

DEF_VAR_I("wet-smoothing", g_wet_smoothing, set_g_wet_smoothing,
	"number of averaging steps to do on generated altitudes",
	gwetsmoothing, 0, 2, VARHI)

DEF_VAR_I("wind-mix-range", g_wind_mix_range, set_g_wind_mix_range,
	"how far to go in averaging wind variations",
	gwindmixrange, 0, 0, 2)
